home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #1 / Amiga Plus CD - 2000 - No. 1.iso / Tools / Dev / Meshwriter / PolygonTest / polygon.c next >
Encoding:
C/C++ Source or Header  |  1999-12-03  |  4.1 KB  |  116 lines

  1. /*
  2. ** ANSI standart includes
  3. */
  4. #include <stdio.h>
  5.  
  6. /*
  7. ** Amiga includes
  8. */
  9.  
  10. /*
  11. ** Amiga libraries includes
  12. */
  13.  
  14. /*
  15. ** Project includes
  16. */
  17. #include </meshlib.h>
  18.  
  19. /************************** test main *******************************/
  20. void main(void) {
  21.   ULONG mesh,mat1,mat2;
  22.   TOCLColor color;
  23.   TOCLVertex v1,v2,v3;
  24.   ULONG ret;
  25.     
  26.   if((mesh = MWLMeshNew())!=0) {
  27.     printf("Object created\n");
  28.  
  29.  
  30.     if((MWLMeshMaterialAdd(mesh,&mat1))!=RCNOERROR) {
  31.       printf("Could not create a new material\n");
  32.     }
  33.     color.r=255,color.g=0,color.b=0;
  34.     MWLMeshMaterialAmbientColorSet(mesh,mat1,&color);
  35.     MWLMeshMaterialNameSet(mesh,mat1,"rot");
  36.     MWLMeshMaterialShininessSet(mesh,mat1,1);
  37.     MWLMeshMaterialTransparencySet(mesh,mat1,0);
  38.     printf("Material created\n");
  39.  
  40.     if((MWLMeshMaterialAdd(mesh,&mat2))!=RCNOERROR) {
  41.       printf("Could not create a new material\n");
  42.     }
  43.     color.r=0,color.g=0,color.b=255;
  44.     MWLMeshMaterialAmbientColorSet(mesh,mat2,&color);
  45.     MWLMeshMaterialNameSet(mesh,mat2,"blau");
  46.     MWLMeshMaterialShininessSet(mesh,mat2,1);
  47.     MWLMeshMaterialTransparencySet(mesh,mat2,0);
  48.     printf("Material created\n");
  49. /*
  50.     if((MWLMeshMaterialAdd(mesh))!=0) {
  51.       printf("Could not create a new material\n");
  52.     }
  53.     color.r=0,color.g=255,color.b=0;
  54.     MWLMeshMaterialAmbientColorSet(mesh,&color);
  55.     MWLMeshMaterialShininessSet(mesh,1);
  56.     MWLMeshMaterialTransparencySet(mesh,0);
  57.     printf("Material created\n");
  58.  
  59.     if((MWLMeshMaterialAdd(mesh))!=0) {
  60.       printf("Could not create a new material\n");
  61.     }
  62.     color.r=255,color.g=0,color.b=255;
  63.     MWLMeshMaterialAmbientColorSet(mesh,&color);
  64.     MWLMeshMaterialShininessSet(mesh,1);
  65.     MWLMeshMaterialTransparencySet(mesh,0);
  66.     printf("Material created\n");
  67. */
  68.  
  69. //star
  70. //    if(MWLMeshNameSet(mesh,"Star")) printf("Name not set\n");
  71. //    else printf("Name set\n");
  72. //    printf("PolygonAdd %d\n",MWLMeshPolygonAdd(mesh,1));        
  73. //    printf("VertexAdd %d\n",MWLMeshPolygonVertexAdd(mesh,10,0,0));
  74. //    printf("VertexAdd %d\n",MWLMeshPolygonVertexAdd(mesh,2,2,0));
  75. //    printf("VertexAdd %d\n",MWLMeshPolygonVertexAdd(mesh,0,10,0));
  76. //    printf("VertexAdd %d\n",MWLMeshPolygonVertexAdd(mesh,-2,2,0));
  77. //    printf("VertexAdd %d\n",MWLMeshPolygonVertexAdd(mesh,-10,0,0));
  78. //    printf("VertexAdd %d\n",MWLMeshPolygonVertexAdd(mesh,-2,-2,0));
  79. //    printf("VertexAdd %d\n",MWLMeshPolygonVertexAdd(mesh,0,-10,0));
  80. //    printf("VertexAdd %d\n",MWLMeshPolygonVertexAdd(mesh,2,-2,0));
  81.  
  82. //quad
  83.     if(MWLMeshNameSet(mesh,"Quad")) printf("Name not set\n");
  84.     else printf("Name set\n");
  85.     v1.x=-10,v1.y=-10,v1.z=0;v2.x=10,v2.y=10,v2.z=0;v3.x=-10,v3.y=10,v3.z=0;
  86.     printf("TriangleAdd %d\n",MWLMeshTriangleAdd(mesh,1,&v1,&v2,&v3));
  87.     v1.x=-10,v1.y=-10,v1.z=0;v2.x=10,v2.y=-10,v2.z=0;v3.x=10,v3.y=10,v3.z=0;
  88.     printf("TriangleAdd %d\n",MWLMeshTriangleAdd(mesh,2,&v1,&v2,&v3));
  89.  
  90. //Pyramide
  91. /*    if(MWLMeshNameSet(mesh,"Pyramide")) printf("Name not set\n");
  92.     else printf("Name set\n");
  93.     
  94.     if(MWLMeshCopyrightSet(mesh,"Copyright by Bluem")) printf("Copyright not set\n");
  95.     else printf("Copyright set\n");
  96.     
  97.     printf("TriangleAdd %d\n",MWLMeshTriangleAdd(mesh,1,-10,-10,-10,10,-10,-10,0,0,10));
  98.     printf("TriangleAdd %d\n",MWLMeshTriangleAdd(mesh,2,10,-10,-10,10,10,-10,0,0,10));
  99.     printf("TriangleAdd %d\n",MWLMeshTriangleAdd(mesh,3,10,10,-10,-10,10,-10,0,0,10));
  100.     printf("TriangleAdd %d\n",MWLMeshTriangleAdd(mesh,4,-10,10,-10,-10,-10,-10,0,0,10));
  101.     printf("TriangleAdd %d\n",MWLMeshTriangleAdd(mesh,1,-10,-10,-10,-10,10,-10,10,10,-10));
  102.     printf("TriangleAdd %d\n",MWLMeshTriangleAdd(mesh,0,10,10,-10,10,-10,-10,-10,-10,-10));
  103. */
  104.     printf("Total number of vertices : %ld\n",MWLMeshNumberOfVerticesGet(mesh));
  105.     printf("Total number of polygons : %ld\n",MWLMeshNumberOfPolygonsGet(mesh));
  106.     printf("Total number of materials : %ld\n",MWLMeshNumberOfMaterialsGet(mesh));
  107.     
  108.     printf("Triangles added\n");
  109.  
  110.     if((ret=MWLMeshSave3D(mesh,T3DFDXF,"ram:pout.dxf",NULL))) printf("Object not saved : %ld\n",ret);
  111. //    if((ret=MWLMeshSave2D(mesh,T2DFPSP,"ram:pout.ps",TVWTOP,TDMGRIDBW,NULL))) printf("Object not saved : %ld\n",ret);
  112.  
  113.     printf("Deleting mesh\n");
  114.     MWLMeshDelete(mesh);
  115.   }
  116. }